This disclosure relates generally to computer systems and, more particularly, relates to the management of flash memory. Managing flash memory may be desired to be performed as efficiently as possible. The amount of data that needs to be managed by enterprises related to flash memory is increasing. As data needing to be managed increases, the need for management efficiency may increase.
Flash memory may be utilized as a memory solution in computer systems due to its relatively low latency and low cost compared to other types of memory. In certain systems, flash memory is utilized as a new storage tier in between DRAM (dynamic random access memory) and a magnetic spinning disk system. In such systems, placing the flash memory in close relation to the CPU (central processing unit) can provide benefits of reduced latency, yet still suffer from the cost of increased CPU path length due to the device driver overhead, block input/output (IO) processing, and other inherent bottlenecks of interfacing to the flash memory as a block storage device. Other solutions include using flash memory as a direct load-store model similar to RAM (random access memory), which shortens the CPU path length but can stall the CPU for each load request as flash latency is much higher than DRAM.